#if !defined(__EMETTEUR_H)
#define __EMETTEUR_H

#include "commun/instantane_du_piano.h"
#include "reseau.h"
#include <string>

/**
 * Classe à qui on délègue l'émission de paquets (TCP, UDP)
 * sur le réseau.
 */
class emetteur_reseau {
    TCPsocket &chaussette_tcp_;
    UDPsocket &chaussette_udp_;
    UDPpacket *paquet_;
	IPaddress adresse_udp_;
public:
	emetteur_reseau(TCPsocket&, UDPsocket&, IPaddress&) throw();
	~emetteur_reseau() throw() { SDLNet_FreePacket(paquet_); }
    void envoyer_tcp(const char *srcbuf, int taille);
    void envoyer_tcp(std::string s);
	void envoyer_udp(void *data, int lng);
    void envoyer_udp(instantane_du_piano &c);
};

#endif
